package com.ai.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * <p>
 * 系统部门
 * </p>
 *
 * @author MBP Generator
 * @since 2025-06-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_dept")
public class SysDeptEntity extends Model {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("id")
    private String id;

    /**
     * 部门编号(规则：父级关系编码+自己的编码)
     */
    @TableField("dept_no")
    private String deptNo;

    /**
     * 部门名称
     */
    @TableField("name")
    private String name;

    /**
     * 父级id
     */
    @TableField("pid")
    private String pid;

    /**
     * 状态(1:正常；0:弃用)
     */
    @TableField("status")
    private Integer status;

    /**
     * 为了维护更深层级关系
     */
    @TableField("relation_code")
    private String relationCode;

    /**
     * 部门经理user_id
     */
    @TableField("dept_manager_id")
    private String deptManagerId;

    /**
     * 部门经理名称
     */
    @TableField("manager_name")
    private String managerName;

    /**
     * 部门经理联系电话
     */
    @TableField("phone")
    private String phone;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 是否删除(1未删除；0已删除)
     */
    @TableField(value = "deleted", fill = FieldFill.INSERT)
    private Integer deleted;


}
